Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

clarify-error

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

clarify-error

Add some additional context to a JavaScript error

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

clarify-error

Wrap errors in explanations.

This is a spiritual successor to explain-error, rewritten after 8 years, using TypeScript, fixing some quirks and achieving 100% test coverage.

In Node.js sometimes something fails because of some internal detail, but then this error may be passed back somewhere else, too often, context is lost.

Example

const fs = require('fs')
const explain = require('explain-error')

// stat a file that does not exist. this will error, so add an explanation.
function explainedError(cb) {
  fs.stat('neoatuhrcoahkrcophkr', (err) => {
    if (err) cb(explain(err, 'asked for a file that certainly did not exist'))
    else cb()
  })
}

// this works even with multiple layers of explanations.
explainedError(function (err) {
  throw explain(err, 'called an function that was expected to fail')
})

Output:

fs.stat does not show where it was called from, but at least now you know what happened after that.

Error: called an function that was expected to fail
    at /home/staltz/oss/wrap-error/example.js:11:9
    at /home/staltz/oss/wrap-error/example.js:5:14
  Error: asked for a file that certainly did not exist
    at /home/staltz/oss/wrap-error/example.js:5:17
    at FSReqCallback.oncomplete (fs.js:168:21)
  Error: ENOENT: no such file or directory, stat 'neoatuhrcoahkrcophkr'

License

MIT

FAQs

Package last updated on 01 Mar 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc